//Game Manager Class Source File
//Class for handling Gameplay and other Game Mechanics

	//Include Files//
#include "GameManager.hpp"

	//Globals & Constants//

/**********************************************************************************************************************\
|	GameManager:	Default Constructor																				   |
\**********************************************************************************************************************/
GameManager::GameManager()
{
	m_HR		=	NULL;
	m_hInstance =	NULL;
	m_hWnd		=	NULL;

}	//End Default Constructor

/**********************************************************************************************************************\
|	GameManager:	Initialize Function																				   |
\**********************************************************************************************************************/
void GameManager::Init(int nCmdShow)
{
	m_hWnd = m_Window.OpenWindow(nCmdShow, m_hWnd, m_hInstance);
	if(m_hWnd == NULL)
	{
		// TODO:  Enter Debug Message here
	}

	if(m_Engine.Visible())
		m_Engine.Init(m_hWnd);
}	//End Init()

/**********************************************************************************************************************\
|	GameManager:	Update Funtion																					   |
\**********************************************************************************************************************/
void GameManager::Update()
{
	if(m_Engine.Visible())
		m_Engine.Update();
}	//End Update()

/**********************************************************************************************************************\
|	GameManager:	Render Funtion																					   |
\**********************************************************************************************************************/
void GameManager::Render()
{
	if(m_Engine.Visible())
		m_Engine.Render();
}	//End Render()

/**********************************************************************************************************************\
|	GameManager:	Exit Funtion																					   |
\**********************************************************************************************************************/
void GameManager::Exit()
{
	m_Engine.Exit();
}	//End Exit()

/**********************************************************************************************************************\
|	GameManager:	Destructor																						   |
\**********************************************************************************************************************/
GameManager::~GameManager()
{
	Exit();
}	//End Destructor